package org.example.aspect;

import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.Aspect;
import org.springframework.stereotype.Component;

@Component("Aspect2")
@Aspect
public class Aspect2 {
    //应用场景：与业务相关的，如网上营业厅查询余额后，自动下发短信。
    //后置通知：会在目标方法执行之后调用通知方法增强。
    //参数1：连接点对象（方法的包装对象:方法，参数，目标对象）
    //参数2：目标方法执行后的返回值,类型是object，“参数名”随便，但也不能太随便，一会要配置

    //后置通知
    //target：拦截某一个类型的bean（唯一），表示只对CustomerServiceImpl类中的方法做后置通知的查找
    @AfterReturning(value="target(org.example.service.CustomerServiceImpl)",returning="returnVal")


    public void afterReturing(JoinPoint joinPoint, Object returnVal){
        System.out.println("=======后置通知。。。。。");
    }

}
